10 REM COPYRIGHT 1990 COMPUTE! PUBLICATIONS, INC. - ALL RIGHTS RESERVED 20 PRINT"[147]"TAB(12)"COPYRIGHT 1990":PRINTTAB(6)"COMPUTE! PUBLICATIONS, INC." 30 PRINTTAB(10)"ALL RIGHTS RESERVED" 40 FORJF=1TO2500:NEXT 50 DATA 4,14,24,34 60 DATA 3,5,7,9,11,13,15,17,19,21 70 FOR Q=1TO4:READX:CR(Q)=X:NEXT 80 FOR Q=1TO10:READX:LR(Q)=X:NEXT 90 DIMZ(4,10) 100 POKE53281,0:POKE53280,14 110 PRINT"[147]  SOUND SAMPLER 64" 120 PRINT:PRINT"VOICE #1 [150]VOICE #2 [129]VOICE #3 [159]ALL 3" 130 PRINT"[158]" 140 DATAFRHI,FRLO,PULO,PUHI,WVFM,ATAK,DCAY,SUST,RELS,PLAY 150 FORQ=1TO10:READX$:FORQ2=1TO3:PRINTX$;" ";:NEXTQ2:PRINT:PRINT:NEXTQ 160 DATACLR ,VOL ,FILO,FIHI,RESO,FIVO,FITY,PLAY 170 FORQ=1TO8:POKE214,LR(Q):PRINT:POKE211,CR(4):READX$:PRINT"[157][157][157][157]"X$:NEXTQ 180 PRINT"[155]" 190 S=54272:FORQ=0TO24:POKES+Q,0:NEXTQ:FORQ=1TO4:FORQ2=1TO10:Z(Q,Q2)=0 200 NEXT:NEXT 210 FORC=1TO3:FORL=1TO10:POKE214,LR(L):PRINT:POKE211,CR(C):PRINTZ(C,L);"[157] " 220 NEXT:NEXT 230 FORQ=1TO8:POKE214,LR(Q):PRINT:POKE211,CR(4):PRINT0;"[157] ":NEXT 240 PRINT:PRINT"PRESS F1 TO PRINT"; 250 C=1:L=1 260 REM ** MOVEMENT LOOP ** 270 POKE214,LR(L):PRINT:POKE211,CR(C):PRINT""Z(C,L)"[157] [146]";:POKE211,CR(C) 280 JS=PEEK(56320) 290 GETA$:IFA$=CHR$(133)THEN1030:REM PRINT 300 IFJS=127THEN280 310 IFJS=111THENPOKE53280,7:FORJS=0TO199:NEXT:GOTO450 320 PRINT"[146]"Z(C,L);"[157] " 330 IFJS=126THENL=L-1:REM UP 340 IFJS=125THENL=L+1:REM DOWN 350 IFJS=123THENC=C-1:REM LEFT 360 IFJS=119THENC=C+1:REM RIGHT 370 IFL>10THENL=10 380 IFL<1THENL=1 390 IF(C=4)AND(L>8)THENL=8 400 IFC<1THENC=1 410 IFC>4THENC=4 420 IF(L>8)AND(C>3)THENC=3 430 GOTO270 440 REM ** CHANGE LOOP ** 450 IFC=4THEN870 460 IFL=1THENM=S+1:F=0:T=255:GOTO560 470 IFL=2THENM=S:F=0:T=255:GOTO560 480 IFL=3THENM=S+2:F=0:T=255:GOTO560 490 IFL=4THENM=S+3:F=0:T=15:GOTO560 500 IFL=5THEN680 510 IFL=6THENM=S+5:F=2:P=Z(C,7):T=15:GOTO560 520 IFL=7THENM=S+5:F=1:P=Z(C,6):T=15:GOTO560 530 IFL=8THENM=S+6:F=2:P=Z(C,9):T=15:GOTO560 540 IFL=9THENM=S+6:F=1:P=Z(C,8):T=15:GOTO560 550 IFL=10THEN820 560 JS=PEEK(56320) 570 IFJS=127THEN560 580 IFJS=125THENZ(C,L)=Z(C,L)-1:GOTO620 590 IFJS=126THENZ(C,L)=Z(C,L)+1:GOTO620 600 IFJS=111THENPOKE53280,14:FORJS=0TO199:NEXT:GOTO260 610 GOTO560 620 IFZ(C,L)>TTHENZ(C,L)=0:POKE211,CR(C):PRINT" ";:GOTO640 630 IFZ(C,L)<0THENZ(C,L)=T:GOTO640 640 IFF=0THENPOKEM+(C-1)*7,Z(C,L):GOTO670 650 IFF=1THENPOKEM+(C-1)*7,P+Z(C,L):GOTO670 660 IFF=2THENPOKEM+(C-1)*7,P+Z(C,L)*16 670 POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] ";:GOTO560 680 REM ** WAVEFORM CHANGE ** 690 JS=PEEK(56320) 700 IFJS=127THEN690 710 IFJS=125THEN750 720 IFJS=126THEN780 730 IFJS=111THENPOKE53280,14:FORJS=0TO199:NEXT:GOTO270 740 GOTO690 750 IFZ(C,L)=0THENZ(C,L)=128:GOTO770 760 Z(C,L)=Z(C,L)/2:IFZ(C,L)<16THENZ(C,L)=0 770 POKES+4+(C-1)*7,Z(C,L):POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] ";:GOTO680 780 IFZ(C,L)=0THENZ(C,L)=16:GOTO810 790 Z(C,L)=Z(C,L)*2 800 IFZ(C,L)>128THENZ(C,L)=0:POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] "; 810 POKES+4+(C-1)*7,Z(C,L):POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] ";:GOTO680 820 POKE53280,14:REM PLAY A VOICE 830 IFZ(C,L)=0THENPOKES+4+(C-1)*7,Z(C,5)+1:GOTO860 840 POKES+4+(C-1)*7,Z(C,5):Z(C,L)=0:POKE211,CR(C):PRINT"";Z(C,L);"[157] [146]"; 850 GOTO260 860 Z(C,L)=1:POKE211,CR(C):PRINT"";Z(C,L);"[157] [146]";:GOTO260 870 REM ** ALL VOICES COLUMN ** 880 IFL=1THENPOKE53280,14:GOTO190 890 IFL=2THENM=S+3:F=1:P=Z(C,7):T=15:GOTO560 900 IFL=3THENM=S:F=0:T=7:GOTO560 910 IFL=4THENM=S+1:F=0:T=255:GOTO560 920 IFL=5THENM=S+2:F=2:P=Z(C,6):T=15:GOTO560 930 IFL=6THENM=S+2:F=1:P=Z(C,5):T=7:GOTO560 940 IFL=7THEN1190:REM ELSE PLAY ALL VOICES 950 POKE214,LR(10):PRINT:FORG=0TO2:POKES+4+G*7,Z(G+1,5):POKE211,CR(G+1) 960 PRINT0"[157] ";:Z(G+1,10)=0:NEXT 970 IFZ(C,L)=1THENZ(C,L)=0:POKE214,LR(8):PRINT:GOTO990 980 GOTO1000 990 POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] ";:POKE53280,14:GOTO260 1000 POKE214,LR(10):PRINT:FORG=0TO2:POKES+4+G*7,Z(G+1,5)+1:POKE211,CR(G+1) 1010 PRINT1;"[157] ";:Z(G+1,10)=1:NEXT 1020 POKE214,LR(8):PRINT:Z(C,L)=1:GOTO990 1030 REM PRINT IT 1040 PRINT"[147]":INPUT"ENTER TITLE:";Y$(0):PRINT 1050 INPUT"ENTER NAME OF VOICE 1:";Y$(1) 1060 PRINT:INPUT"ENTER NAME OF VOICE 2:";Y$(2) 1070 PRINT:INPUT"ENTER NAME OF VOICE 3:";Y$(3) 1080 PRINT:PRINT"PRINTING..." 1090 OPEN4,4:PRINT#4,"SOUND SAMPLE: ";Y$(0):PRINT#4,"" 1100 PRINT#4,"S=54272. REG'S GIVEN IN 'S+' NOTATION:" 1110 FORN=1TO3:PRINT#4,Y$(N):FORN2=0TO4:PRINT#4,(N-1)*7+N2;": ";Z(N,N2+1) 1120 NEXTN2:PRINT#4,5+(N-1)*7;": ";Z(N,6)*256+Z(N,7) 1130 PRINT#4,6+(N-1)*7;": ";Z(N,8)*256+Z(N,9):NEXTN 1140 PRINT#4,"":PRINT#4,21;": ";Z(4,3) 1150 PRINT#4,22;": ";Z(4,4) 1160 PRINT#4,23;": ";Z(4,5)+Z(4,6) 1170 PRINT#4,24;": ";Z(4,2)+Z(4,7)*16 1180 CLOSE4:PRINT"DONE!":END 1190 REM ADJUST FILTER TYPE 1200 JS=PEEK(56320):IFJS=127THEN1200 1210 IFJS=111THENPOKE53280,14:FORJS=0TO199:NEXT:GOTO270 1220 IFJS=125THENZ(C,L)=Z(C,L)-1:GOTO1250 1230 IFJS=126THENZ(C,L)=Z(C,L)+1:GOTO1250 1240 GOTO1200 1250 IFZ(C,L)>7THENZ(C,L)=0 1260 IFZ(C,L)<0THENZ(C,L)=7 1270 POKES+24,Z(C,2)+Z(C,L)*16:POKE211,CR(C):PRINT"";Z(C,L);"[157] [146] "; 1280 GOTO1200